local jw_kuangxin = fk.CreateSkill {
    name = "jw_kuangxin",       --技能的真名
    anim_type = "offensive",    --发动时脸上的特效类型
    tags = { Skill.Compulsory } --技能标签(锁定技Compulsory，觉醒技Wake，限定技Limited等)
}
Fk:loadTranslationTable {
    ["jw_kuangxin"] = "狂信", --翻译表 不再赘述
    [":jw_kuangxin"] = "锁定技，当你使用牌时，获得一枚“狂信”；摸牌阶段，你额外摸X张牌，若“狂信”大于体力值，失去一点体力。",

    ["$jw_kuangxin1"] = "", --语音
    ["$jw_kuangxin2"] = "",

    ["@jw_kuang"] = "狂信", --标记名称，单@显示标记内容，数量，双@仅显示标记，不加前缀则隐藏
}

jw_kuangxin:addEffect(fk.CardUsing, {                         --为技能添加时机
    mute = true,                                              --此技能发动过于频繁，为了防止耳膜炸裂，添加静音效果
    can_trigger = function(self, event, target, player, data) --trigger为触发条件，没有额外触发条件，只需要判定是否有技能和当前时机承载者为玩家本人
        return target == player and player:hasSkill(jw_kuangxin.name)
    end,
    on_use = function(self, event, target, player, data)
        local room = player.room
        room:addPlayerMark(player, "@jw_kuang") --添加一个标记，addplayermark不填写第三个数值，默认添加一个
    end
})
jw_kuangxin:addEffect(fk.DrawNCards, {
    can_trigger = function(self, event, target, player, data) --此处需要判定玩家的标记不为0，即大于0，同时需要判定最基本的拥有技能和当前时机承载者为玩家本人
        return target == player and player:hasSkill(jw_kuangxin.name) and player:getMark("@jw_kuang") > 0
    end,
    on_use = function(self, event, target, player, data)
        local n = player:getMark("@jw_kuang") --定义一个变量n，数值为玩家的标记数
        data.n = data.n + n                   --data.n在此处为摸牌数
        if n > player.hp then                 --判定变量n（标记数）大于玩家血量，注意：变量n设置后，若没有重新设置，此技能接下来的效果中再次出现n，即便标记数量已经变动，仍为首次定义的值
            player.room:loseHp(player, 1, jw_kuangxin.name)
        end
    end,
})
return jw_kuangxin --记得返回值
